查看原文
其他

教你解决禁止F12、调试Debugger、丑化JS等反爬

李运辰 Python研究者 2022-07-01


1

前言


在爬取数据时,有一些网站设置了反爬(禁止F12网页调试Debugger丑化Js),比如下面这几种情况:


1.禁止查看源代码




2.网页调试Debugger


上面禁止查看网页问题,可以先按F12,再访问网站,但是又有网页调试Debugger



经过各种百度之后,可以在浏览器里面关闭Debug调试



这样就点击为蓝色就可以关闭了。


3.丑化JS


通过查看,可以发现数据是异步加载过来,查看数据包(network)时,发现js是被丑化过,无法查看



遇到以上这些反爬,难道就会阻止我们去采集数据了???显然不可能(哈哈哈)


上有政策,下有对策


今天教大家如何用python去解决这些问题,并爬取数据。



2

Python解决上述反爬

1.引入Selenium

本来想通过Reuqest请求数据,奈何数据是异步加载,异步链接也被js丑化了。


这时候我考虑抓包方式,但是很遗憾,无法通过抓包方式获取到异步链接



因此这里采用Selenium方式去爬取数据(后面还有新问题,太坑了,但是都解决了

2.Selenium准备工作

为了在python中使用Selenium,需要进行一些准备工作


安装Selenium库


通过下面命令去安装Selemium库


pip install selenium



下载chromedriver.exe


查看自己对应浏览器(这里使用chrome)版本


在下面这个地址去下载chromedriver.exe


http://chromedriver.storage.googleapis.com/index.html



下载自己浏览器对应版本(我这里选择89)


配置chromedriver.exe


将下载好的文件复制到python安装路径下


通过下面python代码可以查看python安装路径


import sys
print(sys.path)




3.Selenium请求数据

"""导入selenium库"""
from selenium import webdriver
driver = webdriver.Chrome()
"""未将chromedriver.ex复制到python路径下,需要这样写"""
#driver = webdriver.Chrome(executable_path="chromedriver.exe绝对路径")
driver.get('https://www.aqistudy.cn/historydata/daydata.php?city=北京')


结果如下:



发现没有获取到数据,原因是网站监测到非法操作,因此开启Debuggger,所以数据没有异步加载过来。


原本应该是这样的



下面需要进行另外操作(关闭Debugger)


4.给Selenium设置代理

设置代理


找到chrome的路径



在cmd(终端)下,进入到该路径



启动代理


chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"


通过上面这个命令启动代理

ip是本机ip(127.0.0.1)

端口是9222


启动之后,自动打开chrome,并等待执行代码



编写代码


from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_experimental_option('debuggerAddress','127.0.0.1:9222')
driver = webdriver.Chrome(executable_path="C:/Users/Administrator/Anaconda3/envs/lyc36/chromedriver.exe",chrome_options=option)
driver.get('https://www.aqistudy.cn/historydata/daydata.php?city=北京')



这样等待的浏览器就自动加载到数据,成功解决!!


下面请看动图演示




3

总结


1.解决了F12禁止查看网页反爬.


2.解决了网页调试Debugger反爬。


3.Selenium结合代去模拟浏览器请求。


4.本文总结了几种反爬情况,推荐收藏!收藏!收藏!




最后说一声:原创不易,求给个赞、在看、评论


------------- 推荐阅读 -------------

爬虫入门篇

1.今天只分享python、爬虫入门级学习资料

2.以某乎为实战案例,教你用Python爬取手机App数据


3.教你用python爬取『京东』商品数据,原来这么简单!

4.以『赘婿』为实战案例,手把手教会你用python爬取『爱奇艺』视频弹幕


5.python爬取44130条用户观影数据,分析挖掘用户与电影之间的隐藏信息!


6.基金这么赚钱!!编程实现基金从采集到分析通用模板!(白酒为例)


7.我爬取了爬虫岗位薪资,分析后发现爬虫真香


8.竟然如此简单!输入明星名字就可以直接爬取高清图片


9.pyhton爬取爱豆(李易峰)微博评论(附源码)


10.快手解析视频真实链接(爬取快手视频)


11.实战讲解四种不同爬虫解析数据方法,必须掌握!

爬虫框架篇

1.以『B站』为实战案例!手把手教你掌握爬虫必备框架『Scrapy』

2.爬取1907条『课程学习』数据,分析哪类学习资源最受大学生青睐

爬虫反爬篇

1.爬虫遇到反爬机制怎么办? 看看我是如何解决的!


2.python实战破解『梨视频』反爬机制,轻松实现批量视频下载!


3.『异步反爬』别再说自己不会爬取『抖音』视频了!

可视化篇

1.爬取3w条『各种品牌』笔记本电脑数据,统计分析并进行可视化展示!真好看~


2.python爬取7w+『赘婿』弹幕,发现弹幕比剧还精彩!


3.爬取1907条『课程学习』数据,分析哪类学习资源最受大学生青睐


4.python爬取各类基金数据,以『动图可视化』方式展示基金的涨跌情况


5.python爬取『大年初一』热映电影,以『可视化及词云秀』方式带你了解热映电影


6.python爬取淘宝全部『螺蛳粉』数据,看看你真的了解螺蛳粉吗?


7.爬取淘宝热卖商品并可视化分析,看看大家都喜欢买什么!


8.王者荣耀白晶晶皮肤1小时销量突破千万!分析网友评论我发现了原因


9.分析各类基金近一年『日涨幅』流水线动态图!哭了,真是跌妈不认!


10.分析B站《送你一朵小红花》弹幕评论


11.我爬取了爬虫岗位薪资,分析后发现爬虫真香


12.python实现在线微博数据可视化


13.一键查询明星个人信息,并以知识图谱可视化展示

python工具篇

1.教你用python爬虫下载1w+『ppt模板』,再也不用付费去购买啦!


2.python爬取下载m3u8加密视频,原来这么简单!


3.详细实战教程!部署Flask网站+域名访问+免费https证书

4.花一天时间做了一个福利资源网站!免费分享给大家

5.python实现四种出行路线规划(公交、步行、驾车、骑行)


6.35行代码下载任意网页的图片


7.python窃取摄像头照片(摄像头拍照+邮箱发送+打包exe)


8.30行爬虫代码实现中英互译


9.教你搭建一个花卉识别系统(超级简单)


10.一键查询明星个人信息,并以知识图谱可视化展示

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存